full devices expect to be able to read the partition table during xlvbd_add
but couldn't because the device was not marked as BLKIF_CONNECTED and thus
blkif_queue_request discarded the read request. fix bug #220
Signed-off-by: Vincent Hanquez <vincent@xensource.com>
Define new notify_remote_via_irq() interface which is a
safe version for drivers to use that is aware of
save/restore. Post-restore notifications are silently
dropped, in the expectation that xenbus will eventually
get round to telling the driver it needs to reconnect.
Change semantics of bind_evtchn_to_xxx and
unbind_evtchn_from_xxx. The bind now returns the IRQ
number on success. The unbind takes this as a parameter
instead of the event-channel port. Also, unbind closes
down the underlying event-channel port if it is still
live.
This patch fixes a race between when the disable cpu is marked online
and binding IPIs back to the CPU. In some cases, an IPI would be sent
to CPU1 before it had allocated a new evtchn. Moving smp_resume() call
before setting the cpu online fixes this race. This fixes bug #228
(http://bugzilla.xensource.com/bugzilla/show_bug.cgi?id=228).
Fixes for blkif save/restore. A 'dd if=/dev/sda1 of=/dev/null'
seems to lock up the domU kernel on restore still (can be
pinged but not ssh'ed). This still needs investigation.
Change device IDs to be integers, as required now by DevController. Remove
unused op_device. Remove broken code to show the domain configuration using
the HTTP server.
Added new classmethod xstransact.ListRecursive, and use this inside
DevController to tidy up the code there. Change the semantics of
xstransact.list and List to return the empty list rather than None if there
are no entries or the directory is not present, as this is easier to handle
for the client.
Changed -xen x86-32 defconfig CONFIG_EXT2_FS=y
Was previously a module, caused LTP test sysfs01 to fail. Compiling in to
the kernel brings this in to line with our own -xen x86-64 kernel and
vendor kernels.
Changed -xen x86-32 defconfig CONFIG_SECURITY_CAPABILITIES=y
Was previously a module, which wasn't getting loaded and causing the
LTP capset01 test to fail. Compiling in to the kernel brings this in to
line with our own -xen x86-64 kernel and vendor kernels.
Save immediate operand into mcip structure.
Some opcode like and/or need the immediate info when return from DM, we should save it before sending io request.
With this patch, we can enable VMXAssist to bring up APs of SMP VMX
guest. On entry to VMXAssist:
1) %edx is the processor number, i.e. vcpu id, and for BSP it's 0.
2) %ebx is the vector number from SIPI.
Also removed some ugly tailing space.
Signed-off-by: Xin Li <xin.b.li@intel.com> Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
Currently the mmio_operands assumes writing to memory when operand 0 is
register or immediate, this is false for cmp/test opcode.
This patch resolve this problem, please review.
Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com> Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
This patch cleans up some of the argument usage in PrettyPrint.py to
avoid a stack trace when doing an 'xm list -l'. Most of the
prettyprint() methods were called with 1 argument, but the functions
required 2 (one of which was unused).
Signed-off-by: Dan Smith <danms@us.ibm.com> Signed-off-by: Ewan Mellor <ewan@xensource.com>
Remove DBMap etc from XendDomainInfo, moving the handling of the domain root
and VM root totally into XendDomainInfo. The DBMap stuff was all cruft,
following the move to xstransact. Removing it may also help those suffering
from poor start-up times caused by a large store.
Detangle the restart/reboot/halt/save/restore code. There is now one point
for management of shutdown state, XendDomainInfo.refreshShutdown, which is
able to cope whatever the current state of the domain. This fixes bug #124:
running reboot within a domU doesn't bring the domain back up after shutdown,
and bug #256: "xm reboot" could not make domU reboot.
Fix the refreshing inside XendDomain to ensure that the values returned by xm
list reflect reality correctly. We were removing XendDomainInfo instances,
but not creating them on start-up, so if xend were restarted, domain
information was being lost.
Merge XendDomain.dom0_unknown and initial_refresh into
XendDomainInfo.recreate.
Catch exceptions inside callInfo, and reraise them as XendErrors.
Remove unused XendDomain.close.
Further improvements are needed to XendDomainInfo to ensure that it avoids all
race conditions on shutdown, and can cope correctly with xend restarting
during a shutdown.
Move non-transactional and non-idempotent code out of
xenstore transaction retry loops in our device drivers.
Otherwise things get very smelly if a transaction fails and
is retried.
xenstore fires @releaseDomain both when a domain shuts
down and when it eventually dies. xenconsoled now only
relinquishes its handle on a domain when it dies. This
allows us to 'xm console' connect to a crashed domain,
which is very useful!
Add helper method XendDomain.callInfo that stubs through into XendDomainInfo.
This is used to remove much of the code duplication in the public methods there.
Move ImageHandler registration into image.py from XendDomainInfo.py. Move
ImageHandler.create and findImageHandlerClass to the module level, and inline
addImageHandlerClass. Move ImageHandler.kernel, ramdisk, cmdline, and flags,
which seem inadvertently to have been declared as class variables, and make
them instance variables instead.
Update User's Guide installation section to mention hotplug.
Now that hotplug seems to be necessary to boot new domains (at least, to
get disk access in those domains), add a note to the installation guide
mentioning this dependency.
Signed-off-by: Michael Vrable <mvrable@cs.ucsd.edu>
The hotplug subsystem is currently needed for block devices to work, as
of changeset 6742:e9d01c5dc7b4d6b7cda9ade0d137ddb89bb204cc. Add a
script to check for the presence of hotplug and warn if it isn't found.
Signed-off-by: Michael Vrable <mvrable@cs.ucsd.edu>
Merge the duplicated code for create, destroy, migrate, sysrq, and shutdown
into one handler that dynamically imports the correct subcommand handler.
Remove the fullhelp cruft, which was referencing something not actually present,
and was unused. Remove xm_network_attach and xm_network_detach, which were
providing code for unadvertised and unsupported functionality.
Move ImageHandler.create call to initDomain, after the call to xc.domain_create.
This ensures that ImageHandler has the correct domain ID available to it, which
seems sensible in general, and is necessary for the VMX VNC support in
particular.
Add check for speed (takes 33 minutes on my laptop, OUCH!)
Make xenstored use tdb, transactions can soft-fail (EAGAIN)
Transactions no longer take root dir, no longer lock & block: commit can fail spuriously with EAGAIN, not ETIMEDOUT.
Speeds up transactions by over 1000 times, should be NFS safe.
New program: xs_tdb_dump to dump raw TDB contents.
Don't do failure testing: we are no longer robust against all ENOMEM 8(
Introduce "struct node" which contains perms, children and data.
Make struct xs_permissions unpadded, so we can write to tdb w/o valgrind complaints.
Gently modify TDB to use talloc, not do alloc on tdb_delete.
Fix up transaction users for new semantics.
Don't need a transaction around a single read in xen/i386/kernel/smpboot.c.
Python: transaction_start() returns True/False rather than raising exception on EAGAIN.
Fix usage comment on xs_transaction_end().
Include stdarg to xs_tdb_dump so it compiles.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Rusty Russell [Fri, 23 Sep 2005 13:25:01 +0000 (14:25 +0100)]
Make xenstored use tdb, transactions can soft-fail (EAGAIN)
Transactions no longer take root dir, no longer lock & block: commit can fail spuriously with EAGAIN, not ETIMEDOUT.
Speeds up transactions by over 1000 times, should be NFS safe.
New program: xs_tdb_dump to dump raw TDB contents.
Don't do failure testing: we are no longer robust against all ENOMEM 8(
Introduce "struct node" which contains perms, children and data.
Make struct xs_permissions unpadded, so we can write to tdb w/o valgrind complaints.
Gently modify TDB to use talloc, not do alloc on tdb_delete.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>